外观
3. Docker 的环境搭建
3.1 安装准备
系统要求
Docker 支持多种 Linux 发行版,本文档主要介绍 CentOS/Rocky Linux 和 Ubuntu 的安装方法。安装前请确保:
- 内核版本不低于 3.10
- 系统为 64 位
- 已配置 sudo 权限,直接上 root 也是可以的。
国内网络环境声明
由于国内不可名状原因,自 2024 年 6 月开始,各高校或运营商的镜像源就陆续不可用了。所以需要配置镜像加速器。
3.2 Docker 安装流程
Docker 的安装过程主要包含以下步骤:
3.2.1 CentOS/Rocky Linux 安装
包管理器选择
CentOS/Rocky Linux 使用 yum/dnf 包管理器,推荐使用 yum-utils 来管理仓库。
bash
# 安装必要的依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加 Docker CE 官方仓库(使用阿里云镜像)
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装 Docker CE(社区版,免费)
sudo yum -y install docker-ce1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
3.2.2 Ubuntu 安装
Ubuntu 版本兼容性
Docker CE 支持 Ubuntu 18.04 LTS 及以上版本。不同版本的 Ubuntu 可能需要不同的安装步骤。
bash
# 更新包索引并安装必要的依赖
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
# 添加 Docker 官方 GPG 密钥(使用阿里云镜像)
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 添加 Docker CE 仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装 Docker CE
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
3.3 Docker 服务配置
3.3.1 启动和开机自启
bash
# 启动 Docker 服务
sudo systemctl start docker
# 设置开机自启动
sudo systemctl enable docker
# 验证服务状态
sudo systemctl status docker1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
3.3.2 配置镜像加速器
镜像加速原理
Docker 默认从 Docker Hub 拉取镜像,由于在国内有网络环境限制,所以需要配置镜像加速器,才能下载镜像。
安全声明
以下是我从 github 上找的免费的镜像源代理服务,对来源和安全不做保障。请自行甄别。
bash
# 创建或编辑 daemon.json 配置文件
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://dockerpull.org",
"https://docker.1panel.dev",
"https://docker.fxxk.dedyn.io",
"https://docker.xn--6oq72ry9d5zx.cn",
"https://docker.zhai.cm",
"https://docker.5z5f.com",
"https://a.ussh.net",
"https://docker.cloudlayer.icu",
"https://hub.littlediary.cn",
"https://hub.crdz.gq",
"https://docker.unsee.tech",
"https://docker.kejilion.pro",
"https://registry.dockermirror.com",
"https://hub.rat.dev",
"https://dhub.kubesre.xyz",
"https://docker.nastool.de",
"https://docker.udayun.com",
"https://docker.rainbond.cc",
"https://hub.geekery.cn",
"https://docker.1panelproxy.com",
"https://atomhub.openatom.cn",
"https://docker.m.daocloud.io"
]
}
EOF
# 重新加载配置并重启 Docker 服务
sudo systemctl daemon-reload
sudo systemctl restart docker1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
3.4 安装验证
bash
# 查看 Docker 版本信息
sudo docker version
# 查看 Docker 系统信息
sudo docker info
# 运行测试容器:运行 hello-world 镜像来验证 Docker 是否正常工作。
sudo docker run hello-world1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
3.5 Docker 卸载
卸载警告
卸载 Docker 会删除所有容器、镜像和相关配置。请在执行前备份重要数据。
3.5.1 CentOS/Rocky Linux 卸载
bash
# 停止 Docker 服务
sudo systemctl stop docker
# 卸载 Docker 相关包
sudo yum remove -y docker \
docker-ce \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 删除 Docker 数据目录(可选,包含所有镜像、容器和卷)
sudo rm -rf /var/lib/docker1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
3.5.2 Ubuntu 卸载
bash
# 停止 Docker 服务
sudo systemctl stop docker
# 卸载 Docker 相关包
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io
# 删除 Docker 数据目录(可选)
sudo rm -rf /var/lib/docker1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
3.6 常见问题排查
3.6.1 权限问题
非 root 用户使用 Docker
默认情况下,只有 root 用户和 docker 组成员才能运行 Docker 命令。
bash
# 将当前用户添加到 docker 组
sudo usermod -aG docker $USER
# 重新登录或运行以下命令使组成员身份生效
newgrp docker1
2
3
4
5
2
3
4
5